document.addEventListener("focusin", function(event){ const elem=event&&event.target&&event.target.closest("input,select,textarea,button,meter,progress"); if(elem){ window[ gtm4wp_datalayer_name ].push({ 'event':'gtm4wp.formElementEnter', 'inputID':elem.getAttribute("id")||"(no input ID)", 'inputName':elem.getAttribute("name")||"(no input name)", 'inputClass': elem.getAttribute("class")||"(no input class)", 'formID':(elem.form&&elem.form.getAttribute("id"))||"(no form ID)", 'formName':(elem.form&&elem.form.getAttribute("name"))||"(no form name)", 'formClass': (elem.form&&elem.form.getAttribute("class"))||"(no form class)" }); }}, false); document.addEventListener("focusout", function(event){ const elem=event&&event.target&&event.target.closest("input,select,textarea,button,meter,progress"); if(elem){ window[ gtm4wp_datalayer_name ].push({ 'event':'gtm4wp.formElementLeave', 'inputID':elem.getAttribute("id")||"(no input ID)", 'inputName':elem.getAttribute("name")||"(no input name)", 'inputClass': elem.getAttribute("class")||"(no input class)", 'formID':(elem.form&&elem.form.getAttribute("id"))||"(no form ID)", 'formName':(elem.form&&elem.form.getAttribute("name"))||"(no form name)", 'formClass': (elem.form&&elem.form.getAttribute("class"))||"(no form class)" }); };}, false); ; (function ($){ $.flexslider=function(el, options){ var slider=$(el); slider.vars=$.extend({}, $.flexslider.defaults, options); var namespace=slider.vars.namespace, msGesture=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture, touch=(("ontouchstart" in window)||msGesture||window.DocumentTouch&&document instanceof DocumentTouch)&&slider.vars.touch, eventType="click touchend MSPointerUp", watchedEvent="", watchedEventClearTimer, vertical=slider.vars.direction==="vertical", reverse=slider.vars.reverse, carousel=(slider.vars.itemWidth > 0), fade=slider.vars.animation==="fade", asNav=slider.vars.asNavFor!=="", methods={}, focused=true; $.data(el, "flexslider", slider); methods={ init: function(){ slider.animating=false; slider.currentSlide=parseInt(( slider.vars.startAt ? slider.vars.startAt:0)); if(isNaN(slider.currentSlide)) slider.currentSlide=0; slider.animatingTo=slider.currentSlide; slider.atEnd=(slider.currentSlide===0||slider.currentSlide===slider.last); slider.containerSelector=slider.vars.selector.substr(0,slider.vars.selector.search(' ')); slider.slides=$(slider.vars.selector, slider); slider.container=$(slider.containerSelector, slider); slider.count=slider.slides.length; slider.syncExists=$(slider.vars.sync).length > 0; if(slider.vars.animation==="slide") slider.vars.animation="swing"; slider.prop=(vertical) ? "top":(slider.vars.rtl?"marginRight":"marginLeft"); slider.args={}; slider.manualPause=false; slider.stopped=false; slider.started=false; slider.startTimeout=null; slider.transitions = !slider.vars.video&&!fade&&slider.vars.useCSS&&(function(){ var obj=document.createElement('div'), props=['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective']; for (var i in props){ if(obj.style[ props[i] ]!==undefined){ slider.pfx=props[i].replace('Perspective','').toLowerCase(); slider.prop="-" + slider.pfx + "-transform"; return true; }} return false; }()); if(slider.vars.controlsContainer!=="") slider.controlsContainer=$(slider.vars.controlsContainer).length > 0&&$(slider.vars.controlsContainer); if(slider.vars.manualControls!=="") slider.manualControls=$(slider.vars.manualControls).length > 0&&$(slider.vars.manualControls); if(slider.vars.randomize){ slider.slides.sort(function(){ return (Math.round(Math.random())-0.5); }); slider.container.empty().append(slider.slides); } slider.doMath(); slider.setup("init"); if(slider.vars.rtl) slider.addClass('flexslider-rtl'); if(slider.vars.controlNav) methods.controlNav.setup(); if(slider.vars.directionNav) methods.directionNav.setup(); if(slider.vars.keyboard&&($(slider.containerSelector).length===1||slider.vars.multipleKeyboard)){ $(document).bind('keyup', function(event){ var keycode=event.keyCode; if(!slider.animating&&(keycode===39||keycode===37)){ var target=(slider.vars.rtl? ((keycode===37) ? slider.getTarget('next') : (keycode===39) ? slider.getTarget('prev'):false) : ((keycode===39) ? slider.getTarget('next') : (keycode===37) ? slider.getTarget('prev'):false) ) ; slider.flexAnimate(target, slider.vars.pauseOnAction); }}); } if(slider.vars.mousewheel){ slider.bind('mousewheel', function(event, delta, deltaX, deltaY){ event.preventDefault(); var target=(delta < 0) ? slider.getTarget('next'):slider.getTarget('prev'); slider.flexAnimate(target, slider.vars.pauseOnAction); }); } if(slider.vars.pausePlay) methods.pausePlay.setup(); if(slider.vars.slideshow&&slider.vars.pauseInvisible) methods.pauseInvisible.init(); if(slider.vars.slideshow){ if(slider.vars.pauseOnHover){ slider.hover(function(){ if(!slider.manualPlay&&!slider.manualPause) slider.pause(); }, function(){ if(!slider.manualPause&&!slider.manualPlay&&!slider.stopped) slider.play(); }); } if(!slider.vars.pauseInvisible||!methods.pauseInvisible.isHidden()){ (slider.vars.initDelay > 0) ? slider.startTimeout=setTimeout(slider.play, slider.vars.initDelay):slider.play(); }} if(asNav) methods.asNav.setup(); if(touch&&slider.vars.touch) methods.touch(); if(!fade||(fade&&slider.vars.smoothHeight)) $(window).bind("resize orientationchange focus", methods.resize); slider.find("img").attr("draggable", "false"); setTimeout(function(){ slider.vars.start(slider); }, 200); }, asNav: { setup: function(){ slider.asNav=true; slider.animatingTo=Math.floor(slider.currentSlide/slider.move); slider.currentItem=slider.currentSlide; slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide"); if(!msGesture){ slider.slides.click(function(e){ e.preventDefault(); var $slide=$(this), target=$slide.index(); var posFromLeft if(slider.vars.rtl) posFromLeft=$slide.offset().right + $(slider).scrollLeft(); else posFromLeft=$slide.offset().left - $(slider).scrollLeft(); if(posFromLeft <=0&&$slide.hasClass(namespace + 'active-slide')){ slider.flexAnimate(slider.getTarget("prev"), true); }else if(!$(slider.vars.asNavFor).data('flexslider').animating&&!$slide.hasClass(namespace + "active-slide")){ slider.direction=(slider.currentItem < target) ? "next":"prev"; slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true); }}); }else{ el._slider=slider; slider.slides.each(function (){ var that=this; that._gesture=new MSGesture(); that._gesture.target=that; that.addEventListener("MSPointerDown", function (e){ e.preventDefault(); if(e.currentTarget._gesture) e.currentTarget._gesture.addPointer(e.pointerId); }, false); that.addEventListener("MSGestureTap", function (e){ e.preventDefault(); var $slide=$(this), target=$slide.index(); if(!$(slider.vars.asNavFor).data('flexslider').animating&&!$slide.hasClass('active')){ slider.direction=(slider.currentItem < target) ? "next":"prev"; slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true); }}); }); }} }, controlNav: { setup: function(){ if(!slider.manualControls){ methods.controlNav.setupPaging(); }else{ methods.controlNav.setupManual(); }}, setupPaging: function(){ var type=(slider.vars.controlNav==="thumbnails") ? 'control-thumbs':'control-paging', j=1, item, slide; slider.controlNavScaffold=$('
    '); if(slider.pagingCount > 1){ for (var i=0; i < slider.pagingCount; i++){ slide=slider.slides.eq(i); item=(slider.vars.controlNav==="thumbnails") ? '':'' + j + ''; if('thumbnails'===slider.vars.controlNav&&true===slider.vars.thumbCaptions){ var captn=slide.attr('data-thumbcaption'); if(''!=captn&&undefined!=captn) item +='' + captn + ''; } slider.controlNavScaffold.append('
  1. ' + item + '
  2. '); j++; }} (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold):slider.append(slider.controlNavScaffold); methods.controlNav.set(); methods.controlNav.active(); slider.controlNavScaffold.delegate('a, img', eventType, function(event){ event.preventDefault(); if(watchedEvent===""||watchedEvent===event.type){ var $this=$(this), target=slider.controlNav.index($this); if(!$this.hasClass(namespace + 'active')){ slider.direction=(target > slider.currentSlide) ? "next":"prev"; slider.flexAnimate(target, slider.vars.pauseOnAction); }} if(watchedEvent===""){ watchedEvent=event.type; } methods.setToClearWatchedEvent(); }); }, setupManual: function(){ slider.controlNav=slider.manualControls; methods.controlNav.active(); slider.controlNav.bind(eventType, function(event){ event.preventDefault(); if(watchedEvent===""||watchedEvent===event.type){ var $this=$(this), target=slider.controlNav.index($this); if(!$this.hasClass(namespace + 'active')){ (target > slider.currentSlide) ? slider.direction="next":slider.direction="prev"; slider.flexAnimate(target, slider.vars.pauseOnAction); }} if(watchedEvent===""){ watchedEvent=event.type; } methods.setToClearWatchedEvent(); }); }, set: function(){ var selector=(slider.vars.controlNav==="thumbnails") ? 'img':'a'; slider.controlNav=$('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer:slider); }, active: function(){ slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active"); }, update: function(action, pos){ if(slider.pagingCount > 1&&action==="add"){ slider.controlNavScaffold.append($('
  3. ' + slider.count + '
  4. ')); }else if(slider.pagingCount===1){ slider.controlNavScaffold.find('li').remove(); }else{ slider.controlNav.eq(pos).closest('li').remove(); } methods.controlNav.set(); (slider.pagingCount > 1&&slider.pagingCount!==slider.controlNav.length) ? slider.update(pos, action):methods.controlNav.active(); }}, directionNav: { setup: function(){ var directionNavScaffold=$(''); if(slider.controlsContainer){ $(slider.controlsContainer).append(directionNavScaffold); slider.directionNav=$('.' + namespace + 'direction-nav li a', slider.controlsContainer); }else{ slider.append(directionNavScaffold); slider.directionNav=$('.' + namespace + 'direction-nav li a', slider); } methods.directionNav.update(); slider.directionNav.bind(eventType, function(event){ event.preventDefault(); var target; if(watchedEvent===""||watchedEvent===event.type){ target=($(this).hasClass(namespace + 'next')) ? slider.getTarget('next'):slider.getTarget('prev'); if(!$(this).hasClass(namespace+'disabled')){ slider.flexAnimate(target, slider.vars.pauseOnAction); }} if(watchedEvent===""){ watchedEvent=event.type; } methods.setToClearWatchedEvent(); }); }, update: function(){ var disabledClass=namespace + 'disabled'; if(slider.pagingCount===1){ slider.directionNav.addClass(disabledClass).attr('tabindex', '-1'); }else if(!slider.vars.animationLoop){ if(slider.animatingTo===0){ slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1'); }else if(slider.animatingTo===slider.last){ slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1'); }else{ slider.directionNav.removeClass(disabledClass).removeAttr('tabindex'); }}else{ slider.directionNav.removeClass(disabledClass).removeAttr('tabindex'); }} }, pausePlay: { setup: function(){ var pausePlayScaffold=$('
    '); if(slider.controlsContainer){ slider.controlsContainer.append(pausePlayScaffold); slider.pausePlay=$('.' + namespace + 'pauseplay a', slider.controlsContainer); }else{ slider.append(pausePlayScaffold); slider.pausePlay=$('.' + namespace + 'pauseplay a', slider); } methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause':namespace + 'play'); slider.pausePlay.bind(eventType, function(event){ event.preventDefault(); if(watchedEvent===""||watchedEvent===event.type){ if($(this).hasClass(namespace + 'pause')){ slider.manualPause=true; slider.manualPlay=false; slider.pause(); }else{ slider.manualPause=false; slider.manualPlay=true; slider.play(); }} if(watchedEvent===""){ watchedEvent=event.type; } methods.setToClearWatchedEvent(); }); }, update: function(state){ (state==="play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText):slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText); }}, touch: function(){ var startX, startY, offset, cwidth, dx, startT, scrolling=false, localX=0, localY=0, accDx=0; if(!msGesture){ el.addEventListener('touchstart', onTouchStart, false); function onTouchStart(e){ if(slider.animating){ e.preventDefault(); }else if(( window.navigator.msPointerEnabled)||e.touches.length===1){ slider.pause(); cwidth=(vertical) ? slider.h:slider. w; startT=Number(new Date()); localX=e.touches[0].pageX; localY=e.touches[0].pageY; offset=(carousel&&reverse&&slider.animatingTo===slider.last) ? 0 : (carousel&&reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) : (carousel&&slider.currentSlide===slider.last) ? slider.limit : (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide : (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth:(slider.currentSlide + slider.cloneOffset) * cwidth; startX=(vertical) ? localY:localX; startY=(vertical) ? localX:localY; el.addEventListener('touchmove', onTouchMove, false); el.addEventListener('touchend', onTouchEnd, false); }} function onTouchMove(e){ localX=e.touches[0].pageX; localY=e.touches[0].pageY; dx=(vertical) ? startX - localY:startX - localX; scrolling=(vertical) ? (Math.abs(dx) < Math.abs(localX - startY)):(Math.abs(dx) < Math.abs(localY - startY)); var fxms=500; if(! scrolling||Number(new Date()) - startT > fxms){ e.preventDefault(); if(!fade&&slider.transitions){ if(!slider.vars.animationLoop){ dx=dx/((slider.currentSlide===0&&dx < 0||slider.currentSlide===slider.last&&dx > 0) ? (Math.abs(dx)/cwidth+2):1); } slider.setProps(offset + dx, "setTouch"); }} } function onTouchEnd(e){ el.removeEventListener('touchmove', onTouchMove, false); if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){ var updateDx=(reverse) ? -dx:dx, target=(updateDx > 0) ? slider.getTarget('next'):slider.getTarget('prev'); if(slider.canAdvance(target)&&(Number(new Date()) - startT < 550&&Math.abs(updateDx) > 50||Math.abs(updateDx) > cwidth/2)){ slider.flexAnimate(target, slider.vars.pauseOnAction); }else{ if(!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }} el.removeEventListener('touchend', onTouchEnd, false); startX=null; startY=null; dx=null; offset=null; }}else{ el.style.msTouchAction="none"; el._gesture=new MSGesture(); el._gesture.target=el; el.addEventListener("MSPointerDown", onMSPointerDown, false); el._slider=slider; el.addEventListener("MSGestureChange", onMSGestureChange, false); el.addEventListener("MSGestureEnd", onMSGestureEnd, false); function onMSPointerDown(e){ e.stopPropagation(); if(slider.animating){ e.preventDefault(); }else{ slider.pause(); el._gesture.addPointer(e.pointerId); accDx=0; cwidth=(vertical) ? slider.h:slider. w; startT=Number(new Date()); offset=(carousel&&reverse&&slider.animatingTo===slider.last) ? 0 : (carousel&&reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) : (carousel&&slider.currentSlide===slider.last) ? slider.limit : (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide : (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth:(slider.currentSlide + slider.cloneOffset) * cwidth; }} function onMSGestureChange(e){ e.stopPropagation(); var slider=e.target._slider; if(!slider){ return; } var transX=-e.translationX, transY=-e.translationY; accDx=accDx + ((vertical) ? transY:transX); dx=accDx; scrolling=(vertical) ? (Math.abs(accDx) < Math.abs(-transX)):(Math.abs(accDx) < Math.abs(-transY)); if(e.detail===e.MSGESTURE_FLAG_INERTIA){ setImmediate(function (){ el._gesture.stop(); }); return; } if(!scrolling||Number(new Date()) - startT > 500){ e.preventDefault(); if(!fade&&slider.transitions){ if(!slider.vars.animationLoop){ dx=accDx / ((slider.currentSlide===0&&accDx < 0||slider.currentSlide===slider.last&&accDx > 0) ? (Math.abs(accDx) / cwidth + 2):1); } slider.setProps(offset + dx, "setTouch"); }} } function onMSGestureEnd(e){ e.stopPropagation(); var slider=e.target._slider; if(!slider){ return; } if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){ var updateDx=(reverse) ? -dx:dx, target=(updateDx > 0) ? slider.getTarget('next'):slider.getTarget('prev'); if(slider.canAdvance(target)&&(Number(new Date()) - startT < 550&&Math.abs(updateDx) > 50||Math.abs(updateDx) > cwidth/2)){ slider.flexAnimate(target, slider.vars.pauseOnAction); }else{ if(!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }} startX=null; startY=null; dx=null; offset=null; accDx=0; }} }, resize: function(){ if(!slider.animating&&slider.is(':visible')){ if(!carousel) slider.doMath(); if(fade){ methods.smoothHeight(); }else if(carousel){ slider.slides.width(slider.computedW); slider.update(slider.pagingCount); slider.setProps(); } else if(vertical){ slider.viewport.height(slider.h); slider.setProps(slider.h, "setTotal"); }else{ if(slider.vars.smoothHeight) methods.smoothHeight(); slider.newSlides.width(slider.computedW); slider.setProps(slider.computedW, "setTotal"); }} }, smoothHeight: function(dur){ if(!vertical||fade){ var $obj=(fade) ? slider:slider.viewport; (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur):$obj.height(slider.slides.eq(slider.animatingTo).height()); }}, sync: function(action){ var $obj=$(slider.vars.sync).data("flexslider"), target=slider.animatingTo; switch (action){ case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break; case "play": if(!$obj.playing&&!$obj.asNav){ $obj.play(); } break; case "pause": $obj.pause(); break; }}, pauseInvisible: { visProp: null, init: function(){ var prefixes=['webkit','moz','ms','o']; if('hidden' in document) return 'hidden'; for (var i=0; i < prefixes.length; i++){ if((prefixes[i] + 'Hidden') in document) methods.pauseInvisible.visProp=prefixes[i] + 'Hidden'; } if(methods.pauseInvisible.visProp){ var evtname=methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange'; document.addEventListener(evtname, function(){ if(methods.pauseInvisible.isHidden()){ if(slider.startTimeout) clearTimeout(slider.startTimeout); else slider.pause(); }else{ if(slider.started) slider.play(); else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay):slider.play(); }}); }}, isHidden: function(){ return document[methods.pauseInvisible.visProp]||false; }}, setToClearWatchedEvent: function(){ clearTimeout(watchedEventClearTimer); watchedEventClearTimer=setTimeout(function(){ watchedEvent=""; }, 3000); }} slider.flexAnimate=function(target, pause, override, withSync, fromNav){ if(!slider.vars.animationLoop&&target!==slider.currentSlide){ slider.direction=(target > slider.currentSlide) ? "next":"prev"; } if(asNav) slider.direction=(target > slider.currentSlide) ? "next":"prev"; if(!slider.animating&&(slider.canAdvance(target, fromNav)||override)&&slider.is(":visible")){ if(asNav&&withSync){ var master=$(slider.vars.asNavFor).data('flexslider'); slider.atEnd=target===0||target===slider.count - 1; master.flexAnimate(target, true, false, true, fromNav); slider.direction=(slider.currentItem < target) ? "next":"prev"; master.direction=slider.direction; if(Math.ceil((target + 1) / slider.visible) - 1!==slider.currentSlide){ slider.currentItem=target; slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide"); target=Math.floor(target/slider.visible); }else{ slider.currentItem=target; slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide"); return false; }} slider.animating=true; slider.animatingTo=target; if(pause) slider.pause(); slider.vars.before(slider); if(slider.syncExists&&!fromNav) methods.sync("animate"); if(slider.vars.controlNav) methods.controlNav.active(); if(!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); slider.atEnd=target===0||target===slider.last; if(slider.vars.directionNav) methods.directionNav.update(); if(target===slider.last){ slider.vars.end(slider); if(!slider.vars.animationLoop) slider.pause(); } if(!fade){ var dimension=(vertical) ? slider.slides.filter(':first').height():slider.computedW, margin, slideString, calcNext; if(carousel){ margin=slider.vars.itemMargin; calcNext=((slider.itemW + margin) * slider.move) * slider.animatingTo; slideString=(calcNext > slider.limit&&slider.visible!==1) ? slider.limit:calcNext; }else if(slider.currentSlide===0&&target===slider.count - 1&&slider.vars.animationLoop&&slider.direction!=="next"){ slideString=(reverse) ? (slider.count + slider.cloneOffset) * dimension:0; }else if(slider.currentSlide===slider.last&&target===0&&slider.vars.animationLoop&&slider.direction!=="prev"){ slideString=(reverse) ? 0:(slider.count + 1) * dimension; }else{ slideString=(reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension:(target + slider.cloneOffset) * dimension; } slider.setProps(slideString, "", slider.vars.animationSpeed); if(slider.transitions){ if(!slider.vars.animationLoop||!slider.atEnd){ slider.animating=false; slider.currentSlide=slider.animatingTo; } slider.container.unbind("webkitTransitionEnd transitionend"); slider.container.bind("webkitTransitionEnd transitionend", function(){ slider.wrapup(dimension); }); }else{ slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){ slider.wrapup(dimension); }); }}else{ if(!touch){ slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing); slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup); }else{ slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 }); slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 }); slider.wrapup(dimension); }} if(slider.vars.smoothHeight) methods.smoothHeight(slider.vars.animationSpeed); }} slider.wrapup=function(dimension){ if(!fade&&!carousel){ if(slider.currentSlide===0&&slider.animatingTo===slider.last&&slider.vars.animationLoop){ slider.setProps(dimension, "jumpEnd"); }else if(slider.currentSlide===slider.last&&slider.animatingTo===0&&slider.vars.animationLoop){ slider.setProps(dimension, "jumpStart"); }} slider.animating=false; slider.currentSlide=slider.animatingTo; slider.vars.after(slider); } slider.animateSlides=function(){ if(!slider.animating&&focused) slider.flexAnimate(slider.getTarget("next")); } slider.pause=function(){ clearInterval(slider.animatedSlides); slider.animatedSlides=null; slider.playing=false; if(slider.vars.pausePlay) methods.pausePlay.update("play"); if(slider.syncExists) methods.sync("pause"); } slider.play=function(){ if(slider.playing) clearInterval(slider.animatedSlides); slider.animatedSlides=slider.animatedSlides||setInterval(slider.animateSlides, slider.vars.slideshowSpeed); slider.started=slider.playing=true; if(slider.vars.pausePlay) methods.pausePlay.update("pause"); if(slider.syncExists) methods.sync("play"); } slider.stop=function (){ slider.pause(); slider.stopped=true; } slider.canAdvance=function(target, fromNav){ var last=(asNav) ? slider.pagingCount - 1:slider.last; return (fromNav) ? true : (asNav&&slider.currentItem===slider.count - 1&&target===0&&slider.direction==="prev") ? true : (asNav&&slider.currentItem===0&&target===slider.pagingCount - 1&&slider.direction!=="next") ? false : (target===slider.currentSlide&&!asNav) ? false : (slider.vars.animationLoop) ? true : (slider.atEnd&&slider.currentSlide===0&&target===last&&slider.direction!=="next") ? false : (slider.atEnd&&slider.currentSlide===last&&target===0&&slider.direction==="next") ? false : true; } slider.getTarget=function(dir){ slider.direction=dir; if(dir==="next"){ return (slider.currentSlide===slider.last) ? 0:slider.currentSlide + 1; }else{ return (slider.currentSlide===0) ? slider.last:slider.currentSlide - 1; }} slider.setProps=function(pos, special, dur){ var target=(function(){ var posCheck=(pos) ? pos:((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo, posCalc=(function(){ if(carousel){ return (special==="setTouch") ? pos : (reverse&&slider.animatingTo===slider.last) ? 0 : (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) : (slider.animatingTo===slider.last) ? slider.limit:posCheck; }else{ switch (special){ case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos:(slider.currentSlide + slider.cloneOffset) * pos; case "setTouch": return (reverse) ? pos:pos; case "jumpEnd": return (reverse) ? pos:slider.count * pos; case "jumpStart": return (reverse) ? slider.count * pos:pos; default: return pos; }} }()); return (posCalc * -1) + "px"; }()); if(slider.transitions){ target=(vertical) ? "translate3d(0," + target + ",0)":"translate3d(" + ((slider.vars.rtl?-1:1)*parseInt(target)+'px') + ",0,0)"; dur=(dur!==undefined) ? (dur/1000) + "s":"0s"; slider.container.css("-" + slider.pfx + "-transition-duration", dur); } slider.args[slider.prop]=target; if(slider.transitions||dur===undefined) slider.container.css(slider.args); } slider.setup=function(type){ if(!fade){ var sliderOffset, arr; if(type==="init"){ slider.viewport=$('
    ').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container); slider.cloneCount=0; slider.cloneOffset=0; if(reverse){ arr=$.makeArray(slider.slides).reverse(); slider.slides=$(arr); slider.container.empty().append(slider.slides); }} if(slider.vars.animationLoop&&!carousel){ slider.cloneCount=2; slider.cloneOffset=1; if(type!=="init") slider.container.find('.clone').remove(); slider.container.append(slider.slides.first().clone().addClass('clone').attr('aria-hidden', 'true')).prepend(slider.slides.last().clone().addClass('clone').attr('aria-hidden', 'true')); } slider.newSlides=$(slider.vars.selector, slider); sliderOffset=(reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset:slider.currentSlide + slider.cloneOffset; if(vertical&&!carousel){ slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%"); setTimeout(function(){ slider.newSlides.css({"display": "block"}); slider.doMath(); slider.viewport.height(slider.h); slider.setProps(sliderOffset * slider.h, "init"); }, (type==="init") ? 100:0); }else{ slider.container.width((slider.count + slider.cloneCount) * 200 + "%"); slider.setProps(sliderOffset * slider.computedW, "init"); setTimeout(function(){ slider.doMath(); if(slider.vars.rtl) slider.newSlides.css({"width": slider.computedW, "float": "right", "display": "block"}); else slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"}); if(slider.vars.smoothHeight) methods.smoothHeight(); }, (type==="init") ? 100:0); }}else{ if(slider.vars.rtl) slider.slides.css({"width": "100%", "float": "right", "marginLeft": "-100%", "position": "relative"}); else slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"}); if(type==="init"){ if(!touch){ slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing); }else{ slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2}); }} if(slider.vars.smoothHeight) methods.smoothHeight(); } if(!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide"); } slider.doMath=function(){ var slide=slider.slides.first(), slideMargin=slider.vars.itemMargin, minItems=slider.vars.minItems, maxItems=slider.vars.maxItems; slider.w=(slider.viewport===undefined) ? slider.width():slider.viewport.width(); slider.h=slide.height(); slider.boxPadding=slide.outerWidth() - slide.width(); if(carousel){ slider.itemT=slider.vars.itemWidth + slideMargin; slider.minW=(minItems) ? minItems * slider.itemT:slider.w; slider.maxW=(maxItems) ? (maxItems * slider.itemT) - slideMargin:slider.w; slider.itemW=(slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems : (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems : (slider.vars.itemWidth > slider.w) ? slider.w:slider.vars.itemWidth; slider.visible=Math.floor(slider.w/(slider.itemW)); slider.move=(slider.vars.move > 0&&slider.vars.move < slider.visible) ? slider.vars.move:slider.visible; slider.pagingCount=Math.ceil(((slider.count - slider.visible)/slider.move) + 1); slider.last=slider.pagingCount - 1; slider.limit=(slider.pagingCount===1) ? 0 : (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)):((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin; }else{ slider.itemW=slider.w; slider.pagingCount=slider.count; slider.last=slider.count - 1; } slider.computedW=slider.itemW - slider.boxPadding; } slider.update=function(pos, action){ slider.doMath(); if(!carousel){ if(pos < slider.currentSlide){ slider.currentSlide +=1; }else if(pos <=slider.currentSlide&&pos!==0){ slider.currentSlide -=1; } slider.animatingTo=slider.currentSlide; } if(slider.vars.controlNav&&!slider.manualControls){ if((action==="add"&&!carousel)||slider.pagingCount > slider.controlNav.length){ methods.controlNav.update("add"); }else if((action==="remove"&&!carousel)||slider.pagingCount < slider.controlNav.length){ if(carousel&&slider.currentSlide > slider.last){ slider.currentSlide -=1; slider.animatingTo -=1; } methods.controlNav.update("remove", slider.last); }} if(slider.vars.directionNav) methods.directionNav.update(); } slider.addSlide=function(obj, pos){ var $obj=$(obj); slider.count +=1; slider.last=slider.count - 1; if(vertical&&reverse){ (pos!==undefined) ? slider.slides.eq(slider.count - pos).after($obj):slider.container.prepend($obj); }else{ (pos!==undefined) ? slider.slides.eq(pos).before($obj):slider.container.append($obj); } slider.update(pos, "add"); slider.slides=$(slider.vars.selector + ':not(.clone)', slider); slider.setup(); slider.vars.added(slider); } slider.removeSlide=function(obj){ var pos=(isNaN(obj)) ? slider.slides.index($(obj)):obj; slider.count -=1; slider.last=slider.count - 1; if(isNaN(obj)){ $(obj, slider.slides).remove(); }else{ (vertical&&reverse) ? slider.slides.eq(slider.last).remove():slider.slides.eq(obj).remove(); } slider.doMath(); slider.update(pos, "remove"); slider.slides=$(slider.vars.selector + ':not(.clone)', slider); slider.setup(); slider.vars.removed(slider); } methods.init(); } $(window).blur(function(e){ focused=false; }).focus(function(e){ focused=true; }); $.flexslider.defaults={ namespace: "flex-", selector: ".slides > li", animation: "fade", easing: "swing", direction: "horizontal", reverse: false, animationLoop: true, smoothHeight: false, startAt: 0, slideshow: true, slideshowSpeed: 7000, animationSpeed: 600, initDelay: 0, randomize: false, thumbCaptions: false, pauseOnAction: true, pauseOnHover: false, pauseInvisible: true, useCSS: true, touch: true, video: false, controlNav: true, directionNav: true, prevText: "Previous", nextText: "Next", keyboard: true, multipleKeyboard: false, mousewheel: false, pausePlay: false, pauseText: "Pause", playText: "Play", controlsContainer: "", manualControls: "", sync: "", asNavFor: "", itemWidth: 0, itemMargin: 0, minItems: 1, maxItems: 0, move: 0, allowOneSlide: true, start: function(){}, before: function(){}, after: function(){}, end: function(){}, added: function(){}, removed: function(){} ,rtl: false } $.fn.flexslider=function(options){ if(options===undefined) options={}; if(typeof options==="object"){ return this.each(function(){ var $this=$(this), selector=(options.selector) ? options.selector:".slides > li", $slides=$this.find(selector); if(( $slides.length===1&&options.allowOneSlide===true)||$slides.length===0){ $slides.fadeIn(400); if(options.start) options.start($this); }else if($this.data('flexslider')===undefined){ new $.flexslider(this, options); }}); }else{ var $slider=$(this).data('flexslider'); switch (options){ case "play": $slider.play(); break; case "pause": $slider.pause(); break; case "stop": $slider.stop(); break; case "next": $slider.flexAnimate($slider.getTarget("next"), true); break; case "prev": case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break; default: if(typeof options==="number") $slider.flexAnimate(options, true); }} }})(jQuery); (function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}function n(e){return"[object Array]"===f.call(e)}function i(e){var t=[];if(n(e))t=e;else if("number"==typeof e.length)for(var i=0,r=e.length;r>i;i++)t.push(e[i]);else t.push(e);return t}function r(e,n){function r(e,n,s){if(!(this instanceof r))return new r(e,n);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=i(e),this.options=t({},this.options),"function"==typeof n?s=n:t(this.options,n),s&&this.on("always",s),this.getImages(),o&&(this.jqDeferred=new o.Deferred);var c=this;setTimeout(function(){c.check()})}function f(e){this.img=e}function a(e){this.src=e,h[e]=this}r.prototype=new e,r.prototype.options={},r.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);for(var i=n.querySelectorAll("img"),r=0,o=i.length;o>r;r++){var s=i[r];this.addImage(s)}}},r.prototype.addImage=function(e){var t=new f(e);this.images.push(t)},r.prototype.check=function(){function e(e,r){return t.options.debug&&c&&s.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},r.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify(t,e)})},r.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},o&&(o.fn.imagesLoaded=function(e,t){var n=new r(this,e,t);return n.jqDeferred.promise(o(this))}),f.prototype=new e,f.prototype.check=function(){var e=h[this.img.src]||new a(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},f.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var h={};return a.prototype=new e,a.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},a.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},a.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},a.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},a.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},a.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},r}var o=e.jQuery,s=e.console,c=s!==void 0,f=Object.prototype.toString;"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],r):e.imagesLoaded=r(e.EventEmitter,e.eventie)}(window); (function($){ "use strict"; $.fn.fitVids=function(options){ var settings={ customSelector: null, ignore: null, }; if(!document.getElementById('fit-vids-style')){ var head=document.head||document.getElementsByTagName('head')[0]; var css='.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; var div=document.createElement('div'); div.innerHTML='

    x

    '; head.appendChild(div.childNodes[1]); } if(options){ $.extend(settings, options); } return this.each(function(){ var selectors=[ "iframe[src*='player.vimeo.com']", "iframe[src*='youtube.com']", "iframe[src*='youtube-nocookie.com']", "iframe[src*='kickstarter.com'][src*='video.html']", "object", "embed" ]; if(settings.customSelector){ selectors.push(settings.customSelector); } var ignoreList='.fitvidsignore'; if(settings.ignore){ ignoreList=ignoreList + ', ' + settings.ignore; } var $allVideos=$(this).find(selectors.join(',')); $allVideos=$allVideos.not("object object"); $allVideos=$allVideos.not(ignoreList); $allVideos.each(function(){ var $this=$(this); if($this.parents(ignoreList).length > 0){ return; } if(this.tagName.toLowerCase()==='embed'&&$this.parent('object').length||$this.parent('.fluid-width-video-wrapper').length){ return; } if((!$this.css('height')&&!$this.css('width'))&&(isNaN($this.attr('height'))||isNaN($this.attr('width')))){ $this.attr('height', 9); $this.attr('width', 16); } var height=(this.tagName.toLowerCase()==='object'||($this.attr('height')&&!isNaN(parseInt($this.attr('height'), 10)))) ? parseInt($this.attr('height'), 10):$this.height(), width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10):$this.width(), aspectRatio=height / width; if(!$this.attr('id')){ var videoID='fitvid' + Math.floor(Math.random()*999999); $this.attr('id', videoID); } $this.wrap('
    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); $this.removeAttr('height').removeAttr('width'); }); }); };})(window.jQuery||window.Zepto); (function($){ $.fn.justifiedGallery=function (arg){ var defaults={ sizeRangeSuffixes:{ 'lt100': '_t', 'lt240': '_m', 'lt320': '_n', 'lt500': '', 'lt640': '_z', 'lt1024': '_b' }, rowHeight:120, maxRowHeight:0, margins:1, lastRow:'nojustify', fixedHeight:false, captions:true, rel:null, target:null, extension:/\.[^.]+$/, refreshTime:250, randomize:false }; function getSuffix(width, height, context){ var longestSide; longestSide=(width > height) ? width:height; if(longestSide <=100){ return context.settings.sizeRangeSuffixes.lt100; }else if(longestSide <=240){ return context.settings.sizeRangeSuffixes.lt240; }else if(longestSide <=320){ return context.settings.sizeRangeSuffixes.lt320; }else if(longestSide <=500){ return context.settings.sizeRangeSuffixes.lt500; }else if(longestSide <=640){ return context.settings.sizeRangeSuffixes.lt640; }else{ return context.settings.sizeRangeSuffixes.lt1024; }} function onEntryMouseEnterForCaption (sender){ $(sender.currentTarget).find('.caption').stop().fadeTo(500, 0.7); } function onEntryMouseLeaveForCaption (sender){ $(sender.currentTarget).find('.caption').stop().fadeTo(500, 0.0); } function displayEntry($entry, x, y, imgWidth, imgHeight, rowHeight, context){ var $image=$entry.find('img'); $image.css('width', imgWidth); $image.css('height', imgHeight); $image.css('margin-left', - imgWidth / 2); $image.css('margin-top', - imgHeight / 2); $entry.width(imgWidth); $entry.height(rowHeight); $entry.css('top', y); $entry.css('left', x); var imageSrc=$image.attr('src'); var newImageSrc=imageSrc.replace(context.settings.extension, '').replace(context.usedSizeRangeRegExp, '') + getSuffix(imgWidth, imgHeight, context) + imageSrc.match(context.settings.extension)[0]; $image.one('error', function (){ $image.attr('src', $image.data('jg.originalSrc')); }); $entry.stop().fadeTo(300, 1, function (){ if(imageSrc!==newImageSrc){ $image.attr('src', newImageSrc); }}); var captionMouseEvents=$entry.data('jg.captionMouseEvents'); if(context.settings.captions===true){ var $imgCaption=$entry.find('.caption'); if($imgCaption.length===0){ var caption=$image.attr('alt'); if(typeof caption==='undefined') caption=$entry.attr('title'); if(typeof caption!=='undefined'){ $imgCaption=$('
    ' + caption + '
    '); $entry.append($imgCaption); }} if($imgCaption.length!==0&&typeof captionMouseEvents==='undefined'){ captionMouseEvents={ mouseenter: onEntryMouseEnterForCaption, mouseleave: onEntryMouseLeaveForCaption }; $entry.on('mouseenter', captionMouseEvents.mouseenter); $entry.on('mouseleave', captionMouseEvents.mouseleave); $entry.data('jg.captionMouseEvents', captionMouseEvents); }}else{ if(typeof captionMouseEvents!=='undefined'){ $entry.off('mouseenter', captionMouseEvents.mouseenter); $entry.off('mouseleave', captionMouseEvents.mouseleave); $entry.removeData('jg.captionMouseEvents'); }} } function prepareBuildingRow(context, isLastRow){ var i, $entry, $image, stdImgW, newImgW, newImgH, justify=true; var minHeight=0; var availableWidth=context.galleryWidth; var extraW=availableWidth - context.buildingRow.width - ((context.buildingRow.entriesBuff.length - 1) * context.settings.margins); if(isLastRow&&context.settings.lastRow==='hide'&&(extraW / availableWidth > 0.35)){ for (i=0; i < context.buildingRow.entriesBuff.length; i++){ $entry=context.buildingRow.entriesBuff[i]; $entry.stop().fadeTo(0); } return -1; } if(isLastRow&&context.settings.lastRow==='nojustify'&&(extraW / availableWidth > 0.35)) justify=false; for (i=0; i < context.buildingRow.entriesBuff.length; i++){ $image=context.buildingRow.entriesBuff[i].find('img'); stdImgW=Math.ceil($image.data('jg.imgw') / ($image.data('jg.imgh') / context.settings.rowHeight)); if(justify){ if(i < context.buildingRow.entriesBuff.length - 1){ newImgW=stdImgW + Math.ceil(stdImgW / context.buildingRow.width * extraW); }else{ newImgW=availableWidth; } newImgH=Math.ceil(context.settings.rowHeight * (newImgW / stdImgW)); if(context.settings.fixedHeight&&newImgH < context.settings.rowHeight){ newImgW=stdImgW; newImgH=context.settings.rowHeight; }}else{ newImgW=stdImgW; newImgH=context.settings.rowHeight; } $image.data('jg.imgw', newImgW); $image.data('jg.imgh', newImgH); availableWidth -=newImgW + ((i < context.buildingRow.entriesBuff.length - 1) ? context.settings.margins:0); if(i===0||minHeight > newImgH) minHeight=newImgH; } if(context.settings.fixedHeight) minHeight=context.settings.rowHeight; return minHeight; } function rewind(context){ context.lastAnalyzedIndex=-1; context.buildingRow.entriesBuff=[]; context.buildingRow.width=0; context.offY=0; context.firstRowFlushed=false; } function flushRow(context, isLastRow){ var $entry, $image, minHeight, offX=0; minHeight=prepareBuildingRow(context, isLastRow); if(isLastRow&&context.settings.lastRow==='hide'&&minHeight===-1){ context.buildingRow.entriesBuff=[]; context.buildingRow.width=0; return; } if(context.settings.maxRowHeight > 0&&context.settings.maxRowHeight < minHeight) minHeight=context.settings.maxRowHeight; else if(context.settings.maxRowHeight===0&&(1.5 * context.settings.rowHeight) < minHeight) minHeight=1.5 * context.settings.rowHeight; for (var i=0; i < context.buildingRow.entriesBuff.length; i++){ $entry=context.buildingRow.entriesBuff[i]; $image=$entry.find('img'); displayEntry($entry, offX, context.offY, $image.data('jg.imgw'), $image.data('jg.imgh'), minHeight, context); offX +=$image.data('jg.imgw') + context.settings.margins; } context.$gallery.height(context.offY + minHeight + (context.spinner.active ? context.spinner.$el.innerHeight():0) ); if(!isLastRow){ context.offY +=minHeight + context.settings.margins; context.buildingRow.entriesBuff=[]; context.buildingRow.width=0; context.firstRowFlushed=true; context.$gallery.trigger('jg.rowflush'); }} function checkWidth(context){ context.checkWidthIntervalId=setInterval(function (){ var galleryWidth=parseInt(context.$gallery.width(), 10); if(context.galleryWidth!==galleryWidth){ context.galleryWidth=galleryWidth; rewind(context); startImgAnalyzer(context, true); }}, context.settings.refreshTime); } function startLoadingSpinnerAnimation(spinnerContext){ clearInterval(spinnerContext.intervalId); spinnerContext.intervalId=setInterval(function (){ if(spinnerContext.phase < spinnerContext.$points.length) spinnerContext.$points.eq(spinnerContext.phase).fadeTo(spinnerContext.timeslot, 1); else spinnerContext.$points.eq(spinnerContext.phase - spinnerContext.$points.length).fadeTo(spinnerContext.timeslot, 0); spinnerContext.phase=(spinnerContext.phase + 1) % (spinnerContext.$points.length * 2); }, spinnerContext.timeslot); } function stopLoadingSpinnerAnimation(spinnerContext){ clearInterval(spinnerContext.intervalId); spinnerContext.intervalId=null; } function stopImgAnalyzerStarter(context){ context.yield.flushed=0; if(context.imgAnalyzerTimeout!==null) clearTimeout(context.imgAnalyzerTimeout); } function startImgAnalyzer(context, isForResize){ stopImgAnalyzerStarter(context); context.imgAnalyzerTimeout=setTimeout(function (){ analyzeImages(context, isForResize); }, 0.001); analyzeImages(context, isForResize); } function analyzeImages(context, isForResize){ var isLastRow=context.firstRowFlushed; for (var i=context.lastAnalyzedIndex + 1; i < context.entries.length; i++){ var $entry=$(context.entries[i]); var $image=$entry.find('img'); if($image.data('jg.loaded')===true){ var newImgW=Math.ceil($image.data('jg.imgw') / ($image.data('jg.imgh') / context.settings.rowHeight)); isLastRow=context.firstRowFlushed&&(i >=context.entries.length - 1); if(context.buildingRow.width + (context.settings.fixedHeight ? newImgW:newImgW / 2) + (context.buildingRow.entriesBuff.length - 1) * context.settings.margins > context.galleryWidth){ flushRow(context, isLastRow); if(++context.yield.flushed >=context.yield.every){ startImgAnalyzer(context, isForResize); return; }} context.buildingRow.entriesBuff.push($entry); context.buildingRow.width +=newImgW; context.lastAnalyzedIndex=i; }else if($image.data('jg.loaded')!=='error'){ return; }} if(context.buildingRow.entriesBuff.length > 0) flushRow(context, isLastRow); if(context.spinner.active){ context.spinner.active=false; context.$gallery.height(context.$gallery.height() - context.spinner.$el.innerHeight()); context.spinner.$el.detach(); stopLoadingSpinnerAnimation(context.spinner); } stopImgAnalyzerStarter(context); if(!isForResize) context.$gallery.trigger('jg.complete'); else context.$gallery.trigger('jg.resize'); } function checkSettings (context){ function checkSuffixesRange(range){ if(typeof context.settings.sizeRangeSuffixes[range]!=='string') throw 'sizeRangeSuffixes.' + range + ' must be a string'; } function checkOrConvertNumber(setting){ if(typeof context.settings[setting]==='string'){ context.settings[setting]=parseInt(context.settings[setting], 10); if(isNaN(context.settings[setting])) throw 'invalid number for ' + setting; }else if(typeof context.settings[setting]==='number'){ if(isNaN(context.settings[setting])) throw 'invalid number for ' + setting; }else{ throw setting + ' must be a number'; }} if(typeof context.settings.sizeRangeSuffixes!=='object') throw 'sizeRangeSuffixes must be defined and must be an object'; checkSuffixesRange('lt100'); checkSuffixesRange('lt240'); checkSuffixesRange('lt320'); checkSuffixesRange('lt500'); checkSuffixesRange('lt640'); checkSuffixesRange('lt1024'); checkOrConvertNumber('rowHeight'); checkOrConvertNumber('maxRowHeight'); checkOrConvertNumber('margins'); if(context.settings.lastRow!=='nojustify' && context.settings.lastRow!=='justify' && context.settings.lastRow!=='hide'){ throw 'lastRow must be "nojustify", "justify" or "hide"'; } if(typeof context.settings.fixedHeight!=='boolean'){ throw 'fixedHeight must be a boolean'; } if(typeof context.settings.captions!=='boolean'){ throw 'captions must be a boolean'; } checkOrConvertNumber('refreshTime'); if(typeof context.settings.randomize!=='boolean'){ throw 'randomize must be a boolean'; }} return this.each(function (index, gallery){ var $gallery=$(gallery); $gallery.addClass('justified-gallery'); var context=$gallery.data('jg.context'); if(typeof context==='undefined'){ if(typeof arg!=='undefined'&&arg!==null&&typeof arg!=='object') throw 'The argument must be an object'; var $spinner=$('
    '); context={ settings:$.extend({}, defaults, arg), imgAnalyzerTimeout:null, entries:null, buildingRow:{ entriesBuff:[], width:0 }, lastAnalyzedIndex:-1, firstRowFlushed:false, yield:{ every:2, flushed:0 }, offY:0, spinner:{ active:false, phase:0, timeslot:150, $el:$spinner, $points:$spinner.find('span'), intervalId:null }, checkWidthIntervalId:null, galleryWidth:$gallery.width(), $gallery:$gallery }; $gallery.data('jg.context', context); }else if(arg==='norewind'){ }else{ context.settings=$.extend({}, context.settings, arg); rewind(context); } checkSettings(context); context.entries=$gallery.find('a').toArray(); if(context.entries.length===0) return; if(context.settings.randomize){ context.entries.sort(function (){ return Math.random() * 2 - 1; }); $.each(context.entries, function (){ $(this).appendTo($gallery); }); } context.usedSizeRangeRegExp=new RegExp("(" + context.settings.sizeRangeSuffixes.lt100 + "|" + context.settings.sizeRangeSuffixes.lt240 + "|" + context.settings.sizeRangeSuffixes.lt320 + "|" + context.settings.sizeRangeSuffixes.lt500 + "|" + context.settings.sizeRangeSuffixes.lt640 + "|" + context.settings.sizeRangeSuffixes.lt1024 + ")$" ); if(context.settings.maxRowHeight > 0&&context.settings.maxRowHeight < context.settings.rowHeight) context.settings.maxRowHeight=context.settings.rowHeight; var imagesToLoad=false; $.each(context.entries, function (index, entry){ var $entry=$(entry); var $image=$entry.find('img'); if($image.data('jg.loaded')!==true){ $image.data('jg.loaded', false); imagesToLoad=true; if(context.spinner.active===false){ context.spinner.active=true; $gallery.append(context.spinner.$el); $gallery.height(context.offY + context.spinner.$el.innerHeight()); startLoadingSpinnerAnimation(context.spinner); } if(context.settings.rel!==null) $entry.attr('rel', context.settings.rel); if(context.settings.target!==null) $entry.attr('target', context.settings.target); var imageSrc=(typeof $image.data('safe-src')!=='undefined') ? $image.data('safe-src'):$image.attr('src'); $image.data('jg.originalSrc', imageSrc); $image.attr('src', imageSrc); var loadImg=new Image(); var $loadImg=$(loadImg); $loadImg.one('load', function imgLoaded (){ $image.off('load error'); $image.data('jg.imgw', loadImg.width); $image.data('jg.imgh', loadImg.height); $image.data('jg.loaded', true); startImgAnalyzer(context, false); }); $loadImg.one('error', function imgLoadError (){ $image.off('load error'); $image.data('jg.loaded', 'error'); startImgAnalyzer(context, false); }); loadImg.src=imageSrc; }}); if(!imagesToLoad) startImgAnalyzer(context, false); checkWidth(context); }); };}(jQuery)); (function(e){var t,n,i,o,r,a,s,l="Close",c="BeforeClose",d="AfterClose",u="BeforeAppend",p="MarkupParse",f="Open",m="Change",g="mfp",h="."+g,v="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,I=e(window),x=function(e,n){t.ev.on(g+e+h,n)},k=function(t,n,i,o){var r=document.createElement("div");return r.className="mfp-"+t,i&&(r.innerHTML=i),o?n&&n.appendChild(r):(r=e(r),n&&r.appendTo(n)),r},T=function(n,i){t.ev.triggerHandler(g+n,i),t.st.callbacks&&(n=n.charAt(0).toLowerCase()+n.slice(1),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(i)?i:[i]))},E=function(n){return n===s&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),s=n),t.currTemplate.closeBtn},_=function(){e.magnificPopup.instance||(t=new w,t.init(),e.magnificPopup.instance=t)},S=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1};w.prototype={constructor:w,init:function(){var n=navigator.appVersion;t.isIE7=-1!==n.indexOf("MSIE 7."),t.isIE8=-1!==n.indexOf("MSIE 8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(n),t.isIOS=/iphone|ipad|ipod/gi.test(n),t.supportsTransition=S(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),o=e(document),t.popupsCache={}},open:function(n){i||(i=e(document.body));var r;if(n.isObj===!1){t.items=n.items.toArray(),t.index=0;var s,l=n.items;for(r=0;l.length>r;r++)if(s=l[r],s.parsed&&(s=s.el[0]),s===n.el[0]){t.index=r;break}}else t.items=e.isArray(n.items)?n.items:[n.items],t.index=n.index||0;if(t.isOpen)return t.updateItemHTML(),void 0;t.types=[],a="",t.ev=n.mainEl&&n.mainEl.length?n.mainEl.eq(0):o,n.key?(t.popupsCache[n.key]||(t.popupsCache[n.key]={}),t.currTemplate=t.popupsCache[n.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,n),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=k("bg").on("click"+h,function(){t.close()}),t.wrap=k("wrap").attr("tabindex",-1).on("click"+h,function(e){t._checkIfClose(e.target)&&t.close()}),t.container=k("container",t.wrap)),t.contentContainer=k("content"),t.st.preloader&&(t.preloader=k("preloader",t.container,t.st.tLoading));var c=e.magnificPopup.modules;for(r=0;c.length>r;r++){var d=c[r];d=d.charAt(0).toUpperCase()+d.slice(1),t["init"+d].call(t)}T("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(x(p,function(e,t,n,i){n.close_replaceWith=E(i.type)}),a+=" mfp-close-btn-in"):t.wrap.append(E())),t.st.alignTop&&(a+=" mfp-align-top"),t.fixedContentPos?t.wrap.css({overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}):t.wrap.css({top:I.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:o.height(),position:"absolute"}),t.st.enableEscapeKey&&o.on("keyup"+h,function(e){27===e.keyCode&&t.close()}),I.on("resize"+h,function(){t.updateSize()}),t.st.closeOnContentClick||(a+=" mfp-auto-cursor"),a&&t.wrap.addClass(a);var u=t.wH=I.height(),m={};if(t.fixedContentPos&&t._hasScrollBar(u)){var g=t._getScrollbarSize();g&&(m.marginRight=g)}t.fixedContentPos&&(t.isIE7?e("body, html").css("overflow","hidden"):m.overflow="hidden");var C=t.st.mainClass;return t.isIE7&&(C+=" mfp-ie7"),C&&t._addClassToMFP(C),t.updateItemHTML(),T("BuildControls"),e("html").css(m),t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo||i),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(v),t._setFocus()):t.bgOverlay.addClass(v),o.on("focusin"+h,t._onFocusIn)},16),t.isOpen=!0,t.updateSize(u),T(f),n},close:function(){t.isOpen&&(T(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){T(l);var n=C+" "+v+" ";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(n+=t.st.mainClass+" "),t._removeClassFromMFP(n),t.fixedContentPos){var i={marginRight:""};t.isIE7?e("body, html").css("overflow",""):i.overflow="",e("html").css(i)}o.off("keyup"+h+" focusin"+h),t.ev.off(h),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),!t.st.showCloseBtn||t.st.closeBtnInside&&t.currTemplate[t.currItem.type]!==!0||t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,T(d)},updateSize:function(e){if(t.isIOS){var n=document.documentElement.clientWidth/window.innerWidth,i=window.innerHeight*n;t.wrap.css("height",i),t.wH=i}else t.wH=e||I.height();t.fixedContentPos||t.wrap.css("height",t.wH),T("Resize")},updateItemHTML:function(){var n=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),n.parsed||(n=t.parseEl(t.index));var i=n.type;if(T("BeforeChange",[t.currItem?t.currItem.type:"",i]),t.currItem=n,!t.currTemplate[i]){var o=t.st[i]?t.st[i].markup:!1;T("FirstMarkupParse",o),t.currTemplate[i]=o?e(o):!0}r&&r!==n.type&&t.container.removeClass("mfp-"+r+"-holder");var a=t["get"+i.charAt(0).toUpperCase()+i.slice(1)](n,t.currTemplate[i]);t.appendContent(a,i),n.preloaded=!0,T(m,n),r=n.type,t.container.prepend(t.contentContainer),T("AfterChange")},appendContent:function(e,n){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[n]===!0?t.content.find(".mfp-close").length||t.content.append(E()):t.content=e:t.content="",T(u),t.container.addClass("mfp-"+n+"-holder"),t.contentContainer.append(t.content)},parseEl:function(n){var i,o=t.items[n];if(o.tagName?o={el:e(o)}:(i=o.type,o={data:o,src:o.src}),o.el){for(var r=t.types,a=0;r.length>a;a++)if(o.el.hasClass("mfp-"+r[a])){i=r[a];break}o.src=o.el.attr("data-mfp-src"),o.src||(o.src=o.el.attr("href"))}return o.type=i||t.st.type||"inline",o.index=n,o.parsed=!0,t.items[n]=o,T("ElementParse",o),t.items[n]},addGroup:function(e,n){var i=function(i){i.mfpEl=this,t._openClick(i,e,n)};n||(n={});var o="click.magnificPopup";n.mainEl=e,n.items?(n.isObj=!0,e.off(o).on(o,i)):(n.isObj=!1,n.delegate?e.off(o).on(o,n.delegate,i):(n.items=e,e.off(o).on(o,i)))},_openClick:function(n,i,o){var r=void 0!==o.midClick?o.midClick:e.magnificPopup.defaults.midClick;if(r||2!==n.which&&!n.ctrlKey&&!n.metaKey){var a=void 0!==o.disableOn?o.disableOn:e.magnificPopup.defaults.disableOn;if(a)if(e.isFunction(a)){if(!a.call(t))return!0}else if(a>I.width())return!0;n.type&&(n.preventDefault(),t.isOpen&&n.stopPropagation()),o.el=e(n.mfpEl),o.delegate&&(o.items=i.find(o.delegate)),t.open(o)}},updateStatus:function(e,i){if(t.preloader){n!==e&&t.container.removeClass("mfp-s-"+n),i||"loading"!==e||(i=t.st.tLoading);var o={status:e,text:i};T("UpdateStatus",o),e=o.status,i=o.text,t.preloader.html(i),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),n=e}},_checkIfClose:function(n){if(!e(n).hasClass(y)){var i=t.st.closeOnContentClick,o=t.st.closeOnBgClick;if(i&&o)return!0;if(!t.content||e(n).hasClass("mfp-close")||t.preloader&&n===t.preloader[0])return!0;if(n===t.content[0]||e.contains(t.content[0],n)){if(i)return!0}else if(o&&e.contains(document,n))return!0;return!1}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?o.height():document.body.scrollHeight)>(e||I.height())},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},_onFocusIn:function(n){return n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void 0:(t._setFocus(),!1)},_parseMarkup:function(t,n,i){var o;i.data&&(n=e.extend(i.data,n)),T(p,[t,n,i]),e.each(n,function(e,n){if(void 0===n||n===!1)return!0;if(o=e.split("_"),o.length>1){var i=t.find(h+"-"+o[0]);if(i.length>0){var r=o[1];"replaceWith"===r?i[0]!==n[0]&&i.replaceWith(n):"img"===r?i.is("img")?i.attr("src",n):i.replaceWith(''):i.attr(o[1],n)}}else t.find(h+"-"+e).html(n)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.id="mfp-sbm",e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(t,n){return _(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=n||0,this.instance.open(t)},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(n){_();var i=e(this);if("string"==typeof n)if("open"===n){var o,r=b?i.data("magnificPopup"):i[0].magnificPopup,a=parseInt(arguments[1],10)||0;r.items?o=r.items[a]:(o=i,r.delegate&&(o=o.find(r.delegate)),o=o.eq(a)),t._openClick({mfpEl:o},i,r)}else t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else n=e.extend(!0,{},n),b?i.data("magnificPopup",n):i[0].magnificPopup=n,t.addGroup(i,n);return i};var P,O,z,M="inline",B=function(){z&&(O.after(z.addClass(P)).detach(),z=null)};e.magnificPopup.registerModule(M,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(M),x(l+"."+M,function(){B()})},getInline:function(n,i){if(B(),n.src){var o=t.st.inline,r=e(n.src);if(r.length){var a=r[0].parentNode;a&&a.tagName&&(O||(P=o.hiddenClass,O=k(P),P="mfp-"+P),z=r.after(O).detach().removeClass(P)),t.updateStatus("ready")}else t.updateStatus("error",o.tNotFound),r=e("
    ");return n.inlineElement=r,r}return t.updateStatus("ready"),t._parseMarkup(i,{},n),i}}});var F,H="ajax",L=function(){F&&i.removeClass(F)},A=function(){L(),t.req&&t.req.abort()};e.magnificPopup.registerModule(H,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){t.types.push(H),F=t.st.ajax.cursor,x(l+"."+H,A),x("BeforeChange."+H,A)},getAjax:function(n){F&&i.addClass(F),t.updateStatus("loading");var o=e.extend({url:n.src,success:function(i,o,r){var a={data:i,xhr:r};T("ParseAjax",a),t.appendContent(e(a.data),H),n.finished=!0,L(),t._setFocus(),setTimeout(function(){t.wrap.addClass(v)},16),t.updateStatus("ready"),T("AjaxContentAdded")},error:function(){L(),n.finished=n.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src))}},t.st.ajax.settings);return t.req=e.ajax(o),""}}});var j,N=function(n){if(n.data&&void 0!==n.data.title)return n.data.title;var i=t.st.image.titleSrc;if(i){if(e.isFunction(i))return i.call(t,n);if(n.el)return n.el.attr(i)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'
    ',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var e=t.st.image,n=".image";t.types.push("image"),x(f+n,function(){"image"===t.currItem.type&&e.cursor&&i.addClass(e.cursor)}),x(l+n,function(){e.cursor&&i.removeClass(e.cursor),I.off("resize"+h)}),x("Resize"+n,t.resizeImage),t.isLowIE&&x("AfterChange",t.resizeImage)},resizeImage:function(){var e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var n=0;t.isLowIE&&(n=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-n)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,j&&clearInterval(j),e.isCheckingImgSize=!1,T("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(e){var n=0,i=e.img[0],o=function(r){j&&clearInterval(j),j=setInterval(function(){return i.naturalWidth>0?(t._onImageHasSize(e),void 0):(n>200&&clearInterval(j),n++,3===n?o(10):40===n?o(50):100===n&&o(500),void 0)},r)};o(1)},getImage:function(n,i){var o=0,r=function(){n&&(n.img[0].complete?(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("ready")),n.hasSize=!0,n.loaded=!0,T("ImageLoadComplete")):(o++,200>o?setTimeout(r,100):a()))},a=function(){n&&(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("error",s.tError.replace("%url%",n.src))),n.hasSize=!0,n.loaded=!0,n.loadError=!0)},s=t.st.image,l=i.find(".mfp-img");if(l.length){var c=document.createElement("img");c.className="mfp-img",n.img=e(c).on("load.mfploader",r).on("error.mfploader",a),c.src=n.src,l.is("img")&&(n.img=n.img.clone()),c=n.img[0],c.naturalWidth>0?n.hasSize=!0:c.width||(n.hasSize=!1)}return t._parseMarkup(i,{title:N(n),img_replaceWith:n.img},n),t.resizeImage(),n.hasSize?(j&&clearInterval(j),n.loadError?(i.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",n.src))):(i.removeClass("mfp-loading"),t.updateStatus("ready")),i):(t.updateStatus("loading"),n.loading=!0,n.hasSize||(n.imgHidden=!0,i.addClass("mfp-loading"),t.findImageSize(n)),i)}}});var W,R=function(){return void 0===W&&(W=void 0!==document.createElement("p").style.MozTransform),W};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,n=t.st.zoom,i=".zoom";if(n.enabled&&t.supportsTransition){var o,r,a=n.duration,s=function(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),i="all "+n.duration/1e3+"s "+n.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},r="transition";return o["-webkit-"+r]=o["-moz-"+r]=o["-o-"+r]=o[r]=i,t.css(o),t},d=function(){t.content.css("visibility","visible")};x("BuildControls"+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.content.css("visibility","hidden"),e=t._getItemToZoom(),!e)return d(),void 0;r=s(e),r.css(t._getOffset()),t.wrap.append(r),o=setTimeout(function(){r.css(t._getOffset(!0)),o=setTimeout(function(){d(),setTimeout(function(){r.remove(),e=r=null,T("ZoomAnimationEnded")},16)},a)},16)}}),x(c+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.st.removalDelay=a,!e){if(e=t._getItemToZoom(),!e)return;r=s(e)}r.css(t._getOffset(!0)),t.wrap.append(r),t.content.css("visibility","hidden"),setTimeout(function(){r.css(t._getOffset())},16)}}),x(l+i,function(){t._allowZoom()&&(d(),r&&r.remove(),e=null)})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(n){var i;i=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var o=i.offset(),r=parseInt(i.css("padding-top"),10),a=parseInt(i.css("padding-bottom"),10);o.top-=e(window).scrollTop()-r;var s={width:i.width(),height:(b?i.innerHeight():i[0].offsetHeight)-a-r};return R()?s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)":(s.left=o.left,s.top=o.top),s}}});var Z="iframe",q="//about:blank",D=function(e){if(t.currTemplate[Z]){var n=t.currTemplate[Z].find("iframe");n.length&&(e||(n[0].src=q),t.isIE8&&n.css("display",e?"block":"none"))}};e.magnificPopup.registerModule(Z,{options:{markup:'
    ',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(Z),x("BeforeChange",function(e,t,n){t!==n&&(t===Z?D():n===Z&&D(!0))}),x(l+"."+Z,function(){D()})},getIframe:function(n,i){var o=n.src,r=t.st.iframe;e.each(r.patterns,function(){return o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof this.id?o.substr(o.lastIndexOf(this.id)+this.id.length,o.length):this.id.call(this,o)),o=this.src.replace("%id%",o),!1):void 0});var a={};return r.srcAction&&(a[r.srcAction]=o),t._parseMarkup(i,a,n),t.updateStatus("ready"),i}}});var K=function(e){var n=t.items.length;return e>n-1?e-n:0>e?n+e:e},Y=function(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var n=t.st.gallery,i=".mfp-gallery",r=Boolean(e.fn.mfpFastClick);return t.direction=!0,n&&n.enabled?(a+=" mfp-gallery",x(f+i,function(){n.navigateByImgClick&&t.wrap.on("click"+i,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0}),o.on("keydown"+i,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),x("UpdateStatus"+i,function(e,n){n.text&&(n.text=Y(n.text,t.currItem.index,t.items.length))}),x(p+i,function(e,i,o,r){var a=t.items.length;o.counter=a>1?Y(n.tCounter,r.index,a):""}),x("BuildControls"+i,function(){if(t.items.length>1&&n.arrows&&!t.arrowLeft){var i=n.arrowMarkup,o=t.arrowLeft=e(i.replace(/%title%/gi,n.tPrev).replace(/%dir%/gi,"left")).addClass(y),a=t.arrowRight=e(i.replace(/%title%/gi,n.tNext).replace(/%dir%/gi,"right")).addClass(y),s=r?"mfpFastClick":"click";o[s](function(){t.prev()}),a[s](function(){t.next()}),t.isIE7&&(k("b",o[0],!1,!0),k("a",o[0],!1,!0),k("b",a[0],!1,!0),k("a",a[0],!1,!0)),t.container.append(o.add(a))}}),x(m+i,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),x(l+i,function(){o.off(i),t.wrap.off("click"+i),t.arrowLeft&&r&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null}),void 0):!1},next:function(){t.direction=!0,t.index=K(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=K(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),o=Math.min(n[1],t.items.length);for(e=1;(t.direction?o:i)>=e;e++)t._preloadItem(t.index+e);for(e=1;(t.direction?i:o)>=e;e++)t._preloadItem(t.index-e)},_preloadItem:function(n){if(n=K(n),!t.items[n].preloaded){var i=t.items[n];i.parsed||(i=t.parseEl(n)),T("LazyLoad",i),"image"===i.type&&(i.img=e('').on("load.mfploader",function(){i.hasSize=!0}).on("error.mfploader",function(){i.hasSize=!0,i.loadError=!0,T("LazyLoadError",i)}).attr("src",i.src)),i.preloaded=!0}}}});var U="retina";e.magnificPopup.registerModule(U,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,n=e.ratio;n=isNaN(n)?n():n,n>1&&(x("ImageHasSize."+U,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"})}),x("ElementParse."+U,function(t,i){i.src=e.replaceSrc(i,n)}))}}}}),function(){var t=1e3,n="ontouchstart"in window,i=function(){I.off("touchmove"+r+" touchend"+r)},o="mfpFastClick",r="."+o;e.fn.mfpFastClick=function(o){return e(this).each(function(){var a,s=e(this);if(n){var l,c,d,u,p,f;s.on("touchstart"+r,function(e){u=!1,f=1,p=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],c=p.clientX,d=p.clientY,I.on("touchmove"+r,function(e){p=e.originalEvent?e.originalEvent.touches:e.touches,f=p.length,p=p[0],(Math.abs(p.clientX-c)>10||Math.abs(p.clientY-d)>10)&&(u=!0,i())}).on("touchend"+r,function(e){i(),u||f>1||(a=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){a=!1},t),o())})})}s.on("click"+r,function(){a||o()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+r+" click"+r),n&&I.off("touchmove"+r+" touchend"+r)}}(),_()})(window.jQuery||window.Zepto); (function(t){"use strict";function e(t){if(t){if("string"==typeof n[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,o=0,r=i.length;r>o;o++)if(e=i[o]+t,"string"==typeof n[e])return e}}var i="Webkit Moz ms Ms O".split(" "),n=document.documentElement.style;"function"==typeof define&&define.amd?define(function(){return e}):t.getStyleProperty=e})(window),function(t){"use strict";function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=a.length;i>e;e++){var n=a[e];t[n]=0}return t}function n(t){function n(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var n=s(t);if("none"===n.display)return i();var r={};r.width=t.offsetWidth,r.height=t.offsetHeight;for(var u=r.isBorderBox=!(!p||!n[p]||"border-box"!==n[p]),f=0,c=a.length;c>f;f++){var l=a[f],d=n[l];d=o(t,d);var m=parseFloat(d);r[l]=isNaN(m)?0:m}var y=r.paddingLeft+r.paddingRight,g=r.paddingTop+r.paddingBottom,v=r.marginLeft+r.marginRight,_=r.marginTop+r.marginBottom,b=r.borderLeftWidth+r.borderRightWidth,E=r.borderTopWidth+r.borderBottomWidth,L=u&&h,S=e(n.width);S!==!1&&(r.width=S+(L?0:y+b));var T=e(n.height);return T!==!1&&(r.height=T+(L?0:g+E)),r.innerWidth=r.width-(y+b),r.innerHeight=r.height-(g+E),r.outerWidth=r.width+v,r.outerHeight=r.height+_,r}}function o(t,e){if(r||-1===e.indexOf("%"))return e;var i=t.style,n=i.left,o=t.runtimeStyle,s=o&&o.left;return s&&(o.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=n,s&&(o.left=s),e}var h,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var n=s(t);h=200===e(n.width),i.removeChild(t)}}(),n}var o=document.defaultView,r=o&&o.getComputedStyle,s=r?function(t){return o.getComputedStyle(t,null)}:function(t){return t.currentStyle},a=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define(["get-style-property/get-style-property"],n):t.getSize=n(t.getStyleProperty)}(window),function(t){"use strict";var e=document.documentElement,i=function(){};e.addEventListener?i=function(t,e,i){t.addEventListener(e,i,!1)}:e.attachEvent&&(i=function(e,i,n){e[i+n]=n.handleEvent?function(){var e=t.event;e.target=e.target||e.srcElement,n.handleEvent.call(n,e)}:function(){var i=t.event;i.target=i.target||i.srcElement,n.call(e,i)},e.attachEvent("on"+i,e[i+n])});var n=function(){};e.removeEventListener?n=function(t,e,i){t.removeEventListener(e,i,!1)}:e.detachEvent&&(n=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(n){t[e+i]=void 0}});var o={bind:i,unbind:n};"function"==typeof define&&define.amd?define(o):t.eventie=o}(this),function(t){"use strict";function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==o.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var n=0,s=r.length;s>n;n++){var a=r[n];a()}}}function n(n){return n.bind(o,"DOMContentLoaded",i),n.bind(o,"readystatechange",i),n.bind(t,"load",i),e}var o=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define(["eventie/eventie"],n)):t.docReady=n(t.eventie)}(this),function(){"use strict";function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var n=t.prototype;n.getListeners=function(t){var e,i,n=this._getEvents();if("object"==typeof t){e={};for(i in n)n.hasOwnProperty(i)&&t.test(i)&&(e[i]=n[i])}else e=n[t]||(n[t]=[]);return e},n.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},n.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},n.addListener=function(t,i){var n,o=this.getListenersAsObject(t),r="object"==typeof i;for(n in o)o.hasOwnProperty(n)&&-1===e(o[n],i)&&o[n].push(r?i:{listener:i,once:!1});return this},n.on=i("addListener"),n.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},n.once=i("addOnceListener"),n.defineEvent=function(t){return this.getListeners(t),this},n.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},n.removeListener=function(t,i){var n,o,r=this.getListenersAsObject(t);for(o in r)r.hasOwnProperty(o)&&(n=e(r[o],i),-1!==n&&r[o].splice(n,1));return this},n.off=i("removeListener"),n.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},n.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},n.manipulateListeners=function(t,e,i){var n,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(n=i.length;n--;)r.call(this,e,i[n]);else for(n in e)e.hasOwnProperty(n)&&(o=e[n])&&("function"==typeof o?r.call(this,n,o):s.call(this,n,o));return this},n.removeEvent=function(t){var e,i=typeof t,n=this._getEvents();if("string"===i)delete n[t];else if("object"===i)for(e in n)n.hasOwnProperty(e)&&t.test(e)&&delete n[e];else delete this._events;return this},n.removeAllListeners=i("removeEvent"),n.emitEvent=function(t,e){var i,n,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(n=s[o].length;n--;)i=s[o][n],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},n.trigger=i("emitEvent"),n.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},n.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},n._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},n._getEvents=function(){return this._events||(this._events={})},"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){"use strict";function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function o(e,i){t.fn[e]=function(o){if("string"==typeof o){for(var s=n.call(arguments,1),a=0,h=this.length;h>a;a++){var p=this[a],u=t.data(p,e);if(u)if(t.isFunction(u[o])&&"_"!==o.charAt(0)){var f=u[o].apply(u,s);if(void 0!==f)return f}else r("no such method '"+o+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+o+"'")}return this}return this.each(function(){var n=t.data(this,e);n?(n.option(o),n._init()):(n=new i(this,o),t.data(this,e,n))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};t.bridget=function(t,e){i(e),o(t,e)}}}var n=Array.prototype.slice;"function"==typeof define&&define.amd?define(["jquery"],i):i(t.jQuery)}(window),function(t,e){"use strict";function i(t,e){return t[a](e)}function n(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function o(t,e){n(t);for(var i=t.parentNode.querySelectorAll(e),o=0,r=i.length;r>o;o++)if(i[o]===t)return!0;return!1}function r(t,e){return n(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,n=t.length;n>i;i++){var o=t[i],r=o+"MatchesSelector";if(e[r])return r}}();if(a){var h=document.createElement("div"),p=i(h,"div");s=p?i:r}else s=o;"function"==typeof define&&define.amd?define(function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){"use strict";function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function o(t,o,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var h=r("transition"),p=r("transform"),u=h&&p,f=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[h],l=["transform","transition","transitionDuration","transitionProperty"],d=function(){for(var t={},e=0,i=l.length;i>e;e++){var n=l[e],o=r(n);o&&o!==n&&(t[n]=o)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transition={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=o(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var n=d[i]||i;e[n]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,n=e.isOriginTop,o=parseInt(t[i?"left":"right"],10),r=parseInt(t[n?"top":"bottom"],10);o=isNaN(o)?0:o,r=isNaN(r)?0:r;var a=this.layout.size;o-=i?a.paddingLeft:a.paddingRight,r-=n?a.paddingTop:a.paddingBottom,this.position.x=o,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var m=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,h=e-n,p={},u=this.layout.options;a=u.isOriginLeft?a:-a,h=u.isOriginTop?h:-h,p.transform=m(a,h),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=u?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transition;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var y=p&&n(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:y,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[h?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transition,n=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!h||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=document.defaultView,s=r&&r.getComputedStyle?function(t){return r.getComputedStyle(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],o):(t.Outlayer={},t.Outlayer.Item=o(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){"use strict";function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function n(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var n=0,o=t.length;o>n;n++)e.push(t[n]);else e.push(t);return e}function o(t,e){var i=l(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,l,d,m){function y(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return h&&h.error("Bad "+this.settings.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.options),this.option(i);var n=++v;this.element.outlayerGUID=n,_[n]=this,this._create(),this.options.isInitLayout&&this.layout()}function g(t,i){t.prototype[i]=e({},y.prototype[i])}var v=0,_={};return y.prototype.settings={namespace:"outlayer",item:m},y.prototype.options={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(y.prototype,f.prototype),y.prototype.option=function(t){e(this.options,t)},y.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},y.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},y.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.settings.item,n=[],o=0,r=e.length;r>o;o++){var s=e[o],a=new i(s,this);n.push(a)}return n},y.prototype._filterFindItemElements=function(t){t=n(t);for(var e=this.options.itemSelector,i=[],o=0,r=t.length;r>o;o++){var s=t[o];if(c(s))if(e){d(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),h=0,p=a.length;p>h;h++)i.push(a[h])}else i.push(s)}return i},y.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},y.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},y.prototype._init=y.prototype.layout,y.prototype._resetLayout=function(){this.getSize()},y.prototype.getSize=function(){this.size=l(this.element)},y.prototype._getMeasurement=function(t,e){var i,n=this.options[t];n?("string"==typeof n?i=this.element.querySelector(n):c(n)&&(i=n),this[t]=i?l(i)[e]:n):this[t]=0},y.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},y.prototype._getItemsForLayout=function(t){for(var e=[],i=0,n=t.length;n>i;i++){var o=t[i];o.isIgnored||e.push(o)}return e},y.prototype._layoutItems=function(t,e){if(!t||!t.length)return this.emitEvent("layoutComplete",[this,t]),void 0;this._itemsOn(t,"layout",function(){this.emitEvent("layoutComplete",[this,t])});for(var i=[],n=0,o=t.length;o>n;n++){var r=t[n],s=this._getItemLayoutPosition(r);s.item=r,s.isInstant=e,i.push(s)}this._processLayoutQueue(i)},y.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},y.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var n=t[e];this._positionItem(n.item,n.x,n.y,n.isInstant)}},y.prototype._positionItem=function(t,e,i,n){n?t.goTo(e,i):t.moveTo(e,i)},y.prototype._postLayout=function(){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))},y.prototype._getContainerSize=u,y.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},y.prototype._itemsOn=function(t,e,i){function n(){return o++,o===r&&i.call(s),!0}for(var o=0,r=t.length,s=this,a=0,h=t.length;h>a;a++){var p=t[a];p.on(e,n)}},y.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},y.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},y.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,i=t.length;i>e;e++){var n=t[e];this.ignore(n)}}},y.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var n=t[e];o(n,this.stamps),this.unignore(n)}},y.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n(t)):void 0},y.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},y.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},y.prototype._manageStamp=u,y.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,n=l(t),o={left:e.left-i.left-n.marginLeft,top:e.top-i.top-n.marginTop,right:i.right-e.right-n.marginRight,bottom:i.bottom-e.bottom-n.marginBottom};return o},y.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},y.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},y.prototype.unbindResize=function(){i.unbind(t,"resize",this),this.isResizeBound=!1},y.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},y.prototype.resize=function(){var t=l(this.element),e=this.size&&t;e&&t.innerWidth===this.size.innerWidth||this.layout()},y.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},y.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},y.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},y.prototype.reveal=function(t){if(t&&t.length)for(var e=0,i=t.length;i>e;e++){var n=t[e];n.reveal()}},y.prototype.hide=function(t){if(t&&t.length)for(var e=0,i=t.length;i>e;e++){var n=t[e];n.hide()}},y.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var n=this.items[e];if(n.element===t)return n}},y.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,n=t.length;n>i;i++){var o=t[i],r=this.getItem(o);r&&e.push(r)}return e}},y.prototype.remove=function(t){t=n(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),o(s,this.items)}}},y.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var n=this.items[e];n.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.settings.namespace)},y.data=function(t){var e=t&&t.outlayerGUID;return e&&_[e]},y.create=function(t,i){function n(){y.apply(this,arguments)}return e(n.prototype,y.prototype),g(n,"options"),g(n,"settings"),e(n.prototype.options,i),n.prototype.settings.namespace=t,n.data=y.data,n.Item=function(){m.apply(this,arguments)},n.Item.prototype=new m,n.prototype.settings.item=n.Item,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),o="data-"+e+"-options",s=0,u=i.length;u>s;s++){var f,c=i[s],l=c.getAttribute(o);try{f=l&&JSON.parse(l)}catch(d){h&&h.error("Error parsing "+o+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+d);continue}var m=new n(c,f);p&&p.data(c,t,m)}}),p&&p.bridget&&p.bridget(t,n),n},y.Item=m,y}var a=t.document,h=t.console,p=t.jQuery,u=function(){},f=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},l=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,n=t.length;n>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define(["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){"use strict";function e(t,e){var n=t.create("masonry");return n.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},n.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},n.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},n.prototype._getItemLayoutPosition=function(t){t.getSize();var e=Math.ceil(t.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var n=this._getColGroup(e),o=Math.min.apply(Math,n),r=i(n,o),s={x:this.columnWidth*r,y:o},a=o+t.size.outerHeight,h=this.cols+1-n.length,p=0;h>p;p++)this.colYs[r+p]=a;return s},n.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},n.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this.options.isOriginLeft?n.left:n.right,r=o+i.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a=Math.min(this.cols-1,a);for(var h=(this.options.isOriginTop?n.top:n.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(h,this.colYs[p])},n.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},n.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.prototype.resize=function(){var t=this.containerWidth;this.getContainerWidth(),t!==this.containerWidth&&this.layout()},n}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,n=t.length;n>i;i++){var o=t[i];if(o===e)return i}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window);